package com.daoliuhe.scaffold.model;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

public class ListEntry extends Pagable implements Serializable {

    private BigDecimal id;

    /**
     * 列表的id
     */
    private String listId;

    /**
     * 非数据库字段,列表类型（0：普通列表；1：级联列表）
     */
    private String listType;

    /**
     * 父节点的id
     */
    private String parentId;

    /**
     * 列表值
     */
    private String entryValue;

    /**
     * 列表值的全路径值，包含父节点的值，用_分割
     */
    private String entryFullValue;

    /**
     * 描述
     */
    private String description;

    /**
     * 状态
     */
    private String enabled;

    /**
     * 创建时间
     */
    private String createTime;

    /**
     * 更新时间
     */
    private String updateTime;

    /**
     * apiName
     */
    private String apiName;

    /**
     * 创建人
     */
    private BigDecimal creator;


    /**
     * 创建人名称
     */
    private String creatorName;

    /**
     * 非数据库字段
     */
    private String isParent;

    /**
     * 非数据库字段,列表名称
     */
    private String listName;

    /**
     * 非数据库字段
     */
    private String listNameApi;

    /**
     * 排序编号
     */
    private String sortNumber;

    /**
     * 非数据库字段： "closed", ""
     */
    private String state;

    /**
     * 非数据库字段
     */
    private List<ListEntry> children;

    /**
     * 列表值(传参时用,为了保存时查询条件可以带回来，因为保存时，名为entryValue的参数名已经被占用了)
     */
    private String queryParamEntryValue;

    /**
     * 创建人(传参时用,为了保存时查询条件可以带回来，因为保存时，名为creator的参数名已经被占用了)
     */
    private BigDecimal queryParamCreator;

    private String queryParamCreatorName;

    /**
     * 状态(传参时用,为了保存时查询条件可以带回来，因为保存时，名为enabled的参数名已经被占用了)
     */
    private String queryParamEnabled;

    public String getListId() {
        return listId;
    }

    public void setListId(String listId) {
        this.listId = listId;
    }

    public String getListType() {
        return listType;
    }

    public void setListType(String listType) {
        this.listType = listType;
    }

    public String getParentId() {
        return parentId;
    }

    public void setParentId(String parentId) {
        this.parentId = parentId;
    }

    public String getEntryValue() {
        return entryValue;
    }

    public void setEntryValue(String entryValue) {
        this.entryValue = entryValue;
    }

    public String getApiName() {
        return apiName;
    }

    public void setApiName(String apiName) {
        this.apiName = apiName;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getEnabled() {
        return enabled;
    }

    public void setEnabled(String enabled) {
        this.enabled = enabled;
    }

    public String getCreateTime() {
        return createTime;
    }

    public void setCreateTime(String createTime) {
        this.createTime = createTime;
    }

    public String getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(String updateTime) {
        this.updateTime = updateTime;
    }

    public String getListName() {
        return listName;
    }

    public void setListName(String listName) {
        this.listName = listName;
    }

    public String getSortNumber() {
        return sortNumber;
    }

    public void setSortNumber(String sortNumber) {
        this.sortNumber = sortNumber;
    }

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }

    public List<ListEntry> getChildren() {
        return children;
    }

    public void setChildren(List<ListEntry> children) {
        this.children = children;
    }

    public String getListNameApi() {
        return listNameApi;
    }

    public void setListNameApi(String listNameApi) {
        this.listNameApi = listNameApi;
    }

    public String getIsParent() {
        return isParent;
    }

    public void setIsParent(String isParent) {
        this.isParent = isParent;
    }

    public String getEntryFullValue() {
        return entryFullValue;
    }

    public void setEntryFullValue(String entryFullValue) {
        this.entryFullValue = entryFullValue;
    }

    public BigDecimal getId() {
        return id;
    }

    public void setId(BigDecimal id) {
        this.id = id;
    }


    public String getCreatorName() {
        return creatorName;
    }

    public void setCreatorName(String creatorName) {
        this.creatorName = creatorName;
    }

    public BigDecimal getCreator() {
        return creator;
    }

    public void setCreator(BigDecimal creator) {
        this.creator = creator;
    }

    public String getQueryParamEntryValue() {
        return queryParamEntryValue;
    }

    public void setQueryParamEntryValue(String queryParamEntryValue) {
        this.queryParamEntryValue = queryParamEntryValue;
    }

    public String getQueryParamEnabled() {
        return queryParamEnabled;
    }

    public void setQueryParamEnabled(String queryParamEnabled) {
        this.queryParamEnabled = queryParamEnabled;
    }

    public BigDecimal getQueryParamCreator() {
        return queryParamCreator;
    }

    public void setQueryParamCreator(BigDecimal queryParamCreator) {
        this.queryParamCreator = queryParamCreator;
    }

    public String getQueryParamCreatorName() {
        return queryParamCreatorName;
    }

    public void setQueryParamCreatorName(String queryParamCreatorName) {
        this.queryParamCreatorName = queryParamCreatorName;
    }

    @Override
    public String toString() {
        return "ListEntry{" +
                "id=" + id +
                ", listId='" + listId + '\'' +
                ", listType='" + listType + '\'' +
                ", parentId='" + parentId + '\'' +
                ", entryValue='" + entryValue + '\'' +
                ", apiName='" + apiName + '\'' +
                ", entryFullValue='" + entryFullValue + '\'' +
                ", description='" + description + '\'' +
                ", enabled='" + enabled + '\'' +
                ", createTime='" + createTime + '\'' +
                ", updateTime='" + updateTime + '\'' +
                ", isParent='" + isParent + '\'' +
                ", listName='" + listName + '\'' +
                ", listNameApi='" + listNameApi + '\'' +
                ", sortNumber='" + sortNumber + '\'' +
                ", state='" + state + '\'' +
                ", children=" + children +
                '}';
    }
}